package com.kaizeli.website.service;

import com.kaizeli.website.pojo.vo.ProjectMemberCardVO;

import java.util.List;

/**
 * 项目成员卡片服务接口
 */
public interface ProjectMemberCardService {
    
    /**
     * 获取项目成员卡片列表（按项目编号分组统计）
     * 用于项目成员管理页面
     * 统计合同人员表中的项目成员信息
     * 
     * @return 项目成员卡片列表
     */
    List<ProjectMemberCardVO> getProjectMemberCards();
    
    /**
     * 根据项目状态获取项目成员卡片列表
     * 
     * @param hasInactiveMembers 是否有已退出成员（true-有退出成员，false-无退出成员）
     * @return 项目成员卡片列表
     */
    List<ProjectMemberCardVO> getProjectMemberCardsByStatus(boolean hasInactiveMembers);
    
    /**
     * 根据客户ID获取项目成员卡片列表
     * 
     * @param customerId 客户ID
     * @return 项目成员卡片列表
     */
    List<ProjectMemberCardVO> getProjectMemberCardsByCustomer(Long customerId);
    
    /**
     * 根据签约公司ID获取项目成员卡片列表
     * 
     * @param contractCompanyId 签约公司ID
     * @return 项目成员卡片列表
     */
    List<ProjectMemberCardVO> getProjectMemberCardsByContractCompany(Integer contractCompanyId);
}
